1. Field of the Invention
The present invention relates to a data transfer device to read the data stored in a disk device and transfer them to processors, and particularly relates to a data transfer device which transfers the data distributed and stored in a plurality of disk devices by striping.
2. Description of the Related Art
In some systems such as those for multimedia requiring transfer of a large amount of data at a high speed, the data transfer device to execute the data transfer must have a high data transfer performance.
An example of such multimedia systems is a time-varying image data supply system which handles time-varying images. The object of a time-varying image supply system is to supply a plurality of time-varying images stored in the storage unit such as a disk device to a plurality of processors. Accordingly, the major operation of the time-varying image supply system is to read time-varying images from the storage media. Therefore, a time-varying image supply system comprises a data transfer device called a video server.
Since the data handled in this kind of systems have quite a large size, they are compressed before being stored in disk devices having magnetic disks or optical disks as storage media. The data transfer device mounted on such a system has a processor and a storage unit, as well as an input/output controller connected to them. Usually, it has a plurality of input/output controllers each connected with a disk device. Thus, the data transfer device reads the data in parallel from the disk devices connected to a plurality of input/output controllers, lays them in the correct order, and then sends them to an external interface (network, for example) at a certain transfer rate.
FIG. 6 shows an configuration example of this kind of conventional data transfer device.
As shown in the figure, a data transfer device 100 comprises a plurality of disk controllers 20 and a plurality of communication controllers 60 connected by an input/output bus 150 as well as a processor 110 and a storage unit 120 connected by a system bus 140, and the input/output bus 150 and the system bus 140 are connected via a bus controller 130. In addition, the disk controllers 20 are connected to a plurality of disk devices 90 in one-to-one correspondence.
The time-varying image supply system configured as above firstly reads time-varying image and sound data from the disk device 90 and writes them to the storage unit 120 in the data processor 100, and then sends the data written in the storage unit 120 to the external processors. When there are a plurality of time-varying image and sound data for transfer, they are coordinated for their order and timing of reading.
The processing to read data out of the disk device 90 and write them to the storage unit 120 is executed by the processor 110 and the input/output controller under its control. The processing to send the data written to the storage unit 120 to the network is executed by the processor 110 and the communication controller under its control. In addition to data read/write processing for the storage unit 120, the processor 110 coordinates the data reading from the disk device 90 and data sending to the network, administrates the storage area allocation in the storage unit 120, and controls the flow for each piece of data in a group.
Note that data are distributed and stored in a plurality of disk devices by striping technology in a system required to transfer a large amount of data at a high speed such as a time-varying image supply system. As shown in FIG. 5, the data are divided into units of a certain size so that the units are allocated to the disk devices 90 in a coordinated order for storage.
Data are read in parallel from the disk devices 90. The stream data units read from the disk devices 90 are sent through the disk controller 20 and, via the bus controller 130, stored to the storage unit 120. In the storage unit 120, stream data is generated as entire information comprising a series of data with the unit data laid out in the correct order. The generated stream data is, via the bus controller 130 again, transferred to an external processor by the communication controllers 60.
Thus, in a conventional data transfer device, a series of data transfer processes include the use of the input/output bus 150 and the system bus 140 twice for each before the data is read from the disk device 80 and transferred to an external processor. It is anticipated that conflict among stream data occurs in the input/output bus 150 and the system bus 140. To prevent such conflict of stream data, the input/output bus 150 is required to have a sufficiently higher transfer speed than that for the interface with the disk devices 90. In addition, the system bus 140 is also used for execution of processing by the processor 110 and is required to have an even higher transfer speed than the input/output bus 150.
As described above, a conventional data transfer device reads data from the disk device and stores all of them to the storage unit incorporated in the data transfer device and then reads out the stream data as a bulk from that storage unit to transfer them to an external processor. Therefore, there is a drawback that it requires much time to generate the stream data.
In addition, data passes through the system bus, the bus controller and the input/output bus for data transfer from the disk device to the storage unit and that from the storage unit to an external processor. This means that a high load is imposed on these buses, which results in a low throughput in stream data sending.
Besides, the performance of the input/output bus and the system bus is fixed for each data transfer device in a conventional data transfer device. Thus, when it is necessary to increase the number of the disk devices for a larger disk capacity, the data transfer performance is limited by the performance of the input/output bus and the system bus.
Further, the processor incorporated in the data transfer device executes various processing for disk control and input/output control for network. If the number of accesses to the disk device increases, the processor capability would be insufficient and result in performance for the entire system.